package com.atlyc.common.config;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @author lyc
 * @date 2018/7/20
 */
@Component
@Order(3)//越小越先被调用
public class InitCommandLineRunner implements CommandLineRunner {

    private static final Logger LOGGER = LoggerFactory.getLogger(InitCommandLineRunner.class);

    @Override
    public void run(String... strings) throws Exception {
        LOGGER.info("初始化");
    }

    /**
     * 从Java EE 5规范开始，Servlet中增加了两个影响Servlet生命周期的注解（Annotion）；
     * @PostConstruct和@PreDestroy。这两个注解被用来修饰一个非静态的void()方法 。
     * PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy（）方法在destroy()方法执行执行之后执行
     * https://www.cnblogs.com/qingruihappy/p/7861623.html
     */
    @PostConstruct
    public void postCut(){
        LOGGER.info("初始化hello");
    }
}
